package com.lykj.modules.shop.service;

import com.lykj.modules.shop.entity.UserBonus;
import com.lykj.modules.shop.excel.UserBonusExcel;
import com.lykj.modules.shop.vo.UserBonusVO;
import com.lykj.core.mp.base.BaseService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

/**
 * 红包表 服务类
 *
 * @author cxl
 * @since 2022-01-14
 */
public interface UserBonusService extends BaseService<UserBonus> {

	/**
	 * 自定义分页
	 *
	 * @param page
	 * @param userBonus
	 * @return
	 */
	IPage<UserBonusVO> selectUserBonusPage(IPage<UserBonusVO> page, UserBonusVO userBonus);

	/**
	 * 更改红包状态
	 * @param id
	 */
	void bonusStatus(Long id);
	/**
	 * 删除红包
	 * @param id
	 */
	void bonusDeleted(Long id);
	/**
	 * 获取累计分红总额
	 * @param userId
	 */
	BigDecimal bonusTotal(Long userId);
	/**
	 * 获取累计分红总额
	 * @param orderId
	 */
	BigDecimal bonusTotalByOrder(@Param("orderId") Long orderId);

	/**
	 * 获取累计分红总额
	 */
	BigDecimal sumBonus();

	List<UserBonusExcel> export(UserBonusVO userBonus);
}
